// 1signal.h
#ifndef SIGNAL_H
#define SIGNAL_H

#include <iostream>
#include <fstream>
#include <cmath>
#include <cstdlib>
#include <ctime>


class SignalGenerator {
public:
    // Constructors
    SignalGenerator();

    // Destructor
    ~SignalGenerator();

    // Member functions
    void run();
    void configure();
    void generate();
    void start();
    void generate_signal();
    void showresults();

private:
    int num_points;           // Number of data points in the signal
    double frequency;         // Frequency of the sine wave
    double sampling_rate;     // Sampling rate
    double amplitude;         // Amplitude of the sine wave
    double noise_amplitude;   // Amplitude of the noise
    double high_noise_frequency; // Frequency of the high-frequency noise
};

void run_signal_generator();
// Function prototypes
void displayFilterSchematic();
void exitApplication();
void filter_menu();

#endif // SIGNAL_H
